package com.xoa.service.trainingPlan;

import com.baomidou.mybatisplus.service.IService;
import com.xoa.model.trainingPlan.EduTrainingPlan;
import com.xoa.util.AjaxJson;
import com.xoa.util.ToJson;

import javax.servlet.http.HttpServletRequest;

/**
 * <p>
 * 培训计划 服务类
 * </p>
 *
 * @author ZLF
 * @since 2017-09-07
 */
public interface IEduTrainingPlanService extends IService<EduTrainingPlan> {
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017/9/11 14:46
     * 类介绍  :   根据ID查询详细信息
     * 构造参数:
     */
    public ToJson<EduTrainingPlan> getHrtailDetail(Integer planId);
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017/9/11 14:46
     * 类介绍  :   获取所有培训列表
     * 构造参数:
     */
    public AjaxJson getAll(HttpServletRequest request, Integer page, Integer pageSize, boolean useFlag);
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017/9/11 14:46
     * 类介绍  :   编辑培训信息
     * 构造参数:
     */
    public AjaxJson editTrain(EduTrainingPlan eduTrainingPlan);
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017/9/11 15:46
     * 类介绍  :   删除培训信息
     * 构造参数:
     */
    public AjaxJson deleteTrainObjects(String[] planIds);
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017/9/11 15:46
     * 类介绍  :   单个删除培训信息
     * 构造参数:
     */
    public AjaxJson deleteTrainById(String planId);
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017/9/11 15:46
     * 类介绍  :   新建培训计划
     * 构造参数:
     */
    public AjaxJson addTrain(HttpServletRequest request, EduTrainingPlan eduTrainingPlan, String remind);
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017/9/11 16:46
     * 类介绍  :   培训计划查询
     * 构造参数:
     */
    public AjaxJson queryTrain(Integer page, Integer pageSize, boolean useFlag, EduTrainingPlan eduTrainingPlan);
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017/9/12 20:00
     * 类介绍  :   列表待审批
     * 构造参数:
     */
    public AjaxJson getEduTrainByStatus(HttpServletRequest request, String assessingStatus);
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017/9/12 20:00
     * 类介绍  :   批准计划（不批准计划）
     * 构造参数:
     */
    public AjaxJson editEduTrainByStatus(EduTrainingPlan eduTrainingPlan);
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017/9/14 15:00
     * 类介绍  :   计划审批查询页面接口
     * 构造参数:
     */
    public AjaxJson QueryPlan(EduTrainingPlan eduTrainingPlan, String startTime, String endTime);
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017/9/14 15:00
     * 类介绍  :   计划审批查询页面接口
     * 构造参数:
     */
    public AjaxJson QueryPlanStatus(EduTrainingPlan eduTrainingPlan, String startTime, String endTime, HttpServletRequest request);
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017/9/12 20:00
     * 类介绍  :   查询培训计划状态（已准记录和为未准记录）
     * 构造参数:
     */
    public AjaxJson getMinePlanByStatus(HttpServletRequest request, String assessingStatus);

    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017/9/14 19:00
     * 类介绍  :   获取所有计划数据
     * 构造参数:
     */
    public AjaxJson getAllPlan();

    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017/9/14 19:00
     * 类介绍  :   获取所有已批准计划数据
     * 构造参数:
     */
    public AjaxJson getAllPlanTrue();
	
}
